package cn.lhl.service.system.impl;

import cn.lhl.dao.system.ModuleDao;
import cn.lhl.domain.system.Module;
import cn.lhl.domain.system.User;
import cn.lhl.service.system.ModuleService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class ModuleServiceImpl implements ModuleService {
    @Autowired
    private ModuleDao moduleDao;

    public PageInfo findAll(int page,int size) {
        //调用pageHelper
        PageHelper.startPage(page, size);
        //下面的语句见会执行分页
        List<Module> list = moduleDao.findAll();
        return new PageInfo(list);
    }

    public List<Module> findAll() {
        List<Module> list = moduleDao.findAll();
        return list;
    }

    public Module findById(String id) {
        Module module = moduleDao.findById(id);
        return module;
    }

    public void save(Module module) {
        moduleDao.save(module);
    }

    public void update(Module module) {
        moduleDao.update(module);
    }

    public void delete(String id) {
        moduleDao.delete(id);
    }

    public List<Module> findByUser(User user) {
        //1、如果User是SaaS平台管理员 user.degree==0，查找到的是SaaS管理这个模块，module.belong=0
        if (user.getDegree()==0){
            //SaaS平台管理员，查找belong=0的模块
            return moduleDao.findByBelong(0);
        }else if (user.getDegree()==1){
            //2、如果User是企业管理员  user.degree==1，查找到的是所有企业可以操作的模块，module.belong=1
            //企业管理员
            return moduleDao.findByBelong(1);
        }else {
            //3、如果User是企业其他用户，根据User查找该用户对应的模块
            return moduleDao.findByUserId(user.getId());
        }
    }
}
